home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
support2
/
sample.bas
< prev
next >
Wrap
BASIC Source File
|
1994-06-01
|
6KB
|
128 lines
10 GOTO *FORMAT
20 *FED_IN
30 FOR I=0 TO 15
40 FOR COL=0 TO 15
50 PALETTE COL,[PAL%(0,COL)*I,PAL%(1,COL)*I,PAL%(2,COL)*I]
60 NEXT
70 NEXT:RETURN
80 *FED_OUT
90 FOR I=15 TO 0 STEP -1
100 FOR COL=0 TO 15
110 PALETTE COL,[PAL%(0,COL)*I,PAL%(1,COL)*I,PAL%(2,COL)*I]
120 NEXT
130 NEXT:RETURN
140 *CONNECTL
150 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
160 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
170 LINE(X1+1,Y1+1)-(X2-1,Y2-1),PSET,%7,BF
180 RETURN
190 *CONNECTL2
200 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
210 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),7,PSET
220 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
230 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),%8,PSET
240 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%3,BF
250 RETURN
260 *CONNECTLR
270 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
280 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
290 LINE(X1+1,Y1+1)-(X2-1,Y2-1),PSET,%7,BF
300 RETURN
310 *CONNECTL2R
320 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
330 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%8,PSET
340 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
350 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),7,PSET
360 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%7,BF
370 RETURN
380 *CONNECT
390 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
400 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
410 RETURN
420 *CONNECT2
430 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
440 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),7,PSET
450 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
460 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),%8,PSET
470 RETURN
480 *CONNECTR
490 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
500 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
510 RETURN
520 *CONNECT2R
530 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
540 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%8,PSET
550 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
560 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),7,PSET
570 RETURN
580 *IDOU
590 MOUSE 2,AND1$,DOT1$
600 OWX(W)=WX(W):OWY(W)=WY(W)
610 HA=1:IX=MX-WX(W):IY=MY-WY(W):GET@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W)+LONG_Y),AWIN
620 MOUSE 4,IX,IY,639-(WX(W)+LONG_X-MX),479-(WY(W)+LONG_Y-MY)
630 WHILE MX+MY=OMX+OMY
640 MX=MOUSE(0):MY=MOUSE(1)
650 IF MOUSE(2,0)=-1 THEN ELSE GOTO *UNDEL
660 WEND
670 IF HA=1 THEN 690
680 LINE(OMX-IX,OMY-IY)-(OMX-IX+LONG_X,OMY-IY+LONG_Y),XOR,,B
690 LINE(MX-IX,MY-IY)-(MX-IX+LONG_X,MY-IY+LONG_Y),XOR,,B
700 OMX=MX:OMY=MY:HA=0:WX(W)=MX-IX:WY(W)=MY-IY:GOTO 630
710 *UNDEL 'このサブルーチンは使用してはいけない。
720 LINE(OMX-IX,OMY-IY)-(OMX-IX+LONG_X,OMY-IY+LONG_Y),XOR,,B
730 PUT@A(OWX(W),OWY(W))-(OWX(W)+LONG_X,OWY(W)+LONG_Y),BACK,,,,,BACK+W*30000
740 GOSUB *BACKSAVE
750 PUT@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W)+LONG_Y),AWIN
760 GET@A(0,0)-(639,479),IWIN
770 MOUSE 4,0,0,639,479:MOUSE 2,AND0$,DOT0$
780 RETURN
790 *BACKSAVE
800 GET@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W)+LONG_Y),BACK,30000*W
810 RETURN
820 *PUTB
830 PUT@A(WX(W),WY(W))-(WX(W)+LONG_X,WY(W2)+LONG_Y),BACK,,,,,W*30000
840 RETURN
850 *OPENWIN
860 LINE(WX1,WY1)-(WX2,WY2),PSET,7,BF:LINE(WX1,WY1)-(WX2,WY2),PSET,0,B
870 LINE(WX1,WY1)-(WX2,WY1+17),PSET,%3,BF:LINE(WX1,WY1)-(WX2,WY1+17),PSET,0,B
880 LINE(WX1,WY1)-(WX1+WN,WY1+17),PSET,0,BF
890 SYMBOL(WX1+20,WY1+3),MOJI$,.75!,.75!,7
900 LINE(WX1+2,WY1+2)-(WX1+15,WY1+15),PSET,7,BF
910 X1=WX1+2:Y1=WY1+2:X2=WX1+15:Y2=WY1+15:GOSUB *CONNECT
920 FOR I=0 TO 6
930 LINE(WX1+3,WY1+4+I*2)-(WX1+14,WY1+4+I*2),PSET,0
940 LINE(WX1+4+I*2,WY1+3)-(WX1+4+I*2,WY1+14),PSET,0
950 NEXT:RETURN
960 *FORMAT 'ディスクの初期化ではない。
970 W=0:CLEAR ,,,,,300*1024
980 WINDOW(0,0)-(1023,511):VIEW(0,0)-(1023,511)
990 SCREEN@ 0:CLS
1000 MOUSE 0:MOUSE 1,320,240,1:MOUSE 4,0,0,639,479
1010 AND0$=CHR$(&H7F,&HFF,&H3F,&HFF,&H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H03,&HFF,&H01,&HFF,&H00,&HFF,&H00,&H7F,&H00,&H3F,&H00,&H1F,&H00,&HFF,&H00,&HFF,&H18,&H7F,&H38,&H7F,&HFC,&H7F)
1020 DOT0$=CHR$(&H00,&H00,&H00,&H00,&H40,&H00,&H20,&H00,&H50,&H00,&H38,&H00,&H5C,&H00,&H2E,&H00,&H5F,&H00,&H2F,&H80,&H5E,&H00,&H26,&H00,&H42,&H00,&H03,&H00,&H01,&H00,&H00,&H00)
1030 AND1$=CHR$(&HFE,&H7F,&HF0,&H0F,&HE0,&H07,&HE0,&H01,&H80,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H80,&H00,&H80,&H00,&HC0,&H01,&HC0,&H01,&HE0,&H03,&HF0,&H07,&HFC,&H1F)
1040 DOT1$=CHR$(&H00,&H00,&H01,&H80,&H0D,&HB0,&H0D,&HB0,&H0D,&HB6,&H6D,&HB6,&H6F,&HF6,&H7F,&HFE,&H7F,&HFE,&H3F,&HFE,&H3F,&HFE,&H1F,&HFC,&H1F,&HFC,&H0F,&HF8,&H03,&HE0,&H00,&H00)
1050 AND2$=CHR$(&HFF,&HE7,&HFF,&H83,&HFE,&H01,&HF8,&H01,&HE0,&H21,&HC0,&H63,&H81,&HC3,&H07,&HC7,&H0F,&H87,&H0F,&H8F,&H0F,&H0F,&H9F,&H1F,&HF0,&H1F,&HE0,&H3F,&HF0,&H7F,&HF0,&HFF)
1060 DOT2$=CHR$(&H00,&H00,&H00,&H18,&H00,&H7C,&H01,&H8C,&H06,&H08,&H18,&H08,&H20,&H10,&H40,&H10,&H40,&H20,&H40,&H20,&H40,&H40,&H00,&H40,&H00,&H80,&H0F,&H00,&H00,&H00,&H00,&H00)
1070 MOUSE 2,AND0$,DOT0$
1080 DIM AWIN(40000),IWIN(40000),PAL%(2,15)
1090 DIM BACK(200000)
1100 LOAD@"palette2.pal",PAL%:SCREEN 0:GOSUB *FED_IN
1110 DEF FONT"システム 12ドット":LINE(0,0)-(639,479),PSET,%6,BF
1120 LINE( 245, 209)-( 389, 262),PSET,%3,BF
1130 X1= 245:Y1= 209:X2= 389:Y2= 262:GOSUB *CONNECT2
1140 SYMBOL( 282, 230),"ここを押して",.75!,.75!,7
1150 SYMBOL( 42, 462),"Sample program for NOI’z GUI Libralyョ layouter",.75!,.75!,1,,,4
10000 'ここから付け加え
10010 '
10020 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1)
10030 IF MX>=245 AND MY>=209 AND MX<=389 AND MY<=262 THEN *反応
10040 GOTO 10020
10050 *反応
10060 GOSUB *CONNECT2R
10070 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
10080 IF MX>=245 AND MY>=209 AND MX<=389 AND MY<=262 ELSE GOSUB *CONNECT2:GOTO 10020
10090 WEND
10100 GOSUB *CONNECT2
10110 END